package com.geek.factory.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.geek.factory.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author author
 * @since 2025-06-24
 */
public interface RoleService extends IService<Role> {
    IPage<Role> pageQuery(Page<Role> page, String roleName, Integer status);

    /**
     * 获取角色的菜单ID列表
     * @param roleId 角色ID
     * @return 菜单ID列表
     */
    List<Integer> getRoleMenuIds(Integer roleId);

    /**
     * 设置角色的菜单权限
     * @param roleId 角色ID
     * @param menuIds 菜单ID列表
     * @return 是否成功
     */
    boolean setRoleMenus(Integer roleId, List<Integer> menuIds);

    /**
     * 删除角色及其菜单关联
     * @param roleId 角色ID
     * @return 是否成功
     */
    boolean removeRoleAndMenus(Integer roleId);
}
